Sets a text writter that the entire btree will be dumped to after every read/write/seek operation. The format is a single line of text in abbreviated form: {k1{k1,k2,k3},k4{k4,k5}}
            
            
            
Syntax
| Visual Basic (Declaration) |   | 
|---|
Public Sub DebugSetOutput( _
   ByVal output As TextWriter _
)   | 
 
            Parameters
- output
 
            
             
            
						
            
            
            
            
Example
BPlusTree/BPlusTree.Test/BasicTests.cs
             | C# |  Copy Code | 
|---|
var options = Options;
options.BTreeOrder = 4;
using (BPlusTree<int, string> data = new BPlusTree<int,string>(options))
{
    data.EnableCount();
    
    data.DebugSetOutput(new StringWriter());
    data.DebugSetValidateOnCheckpoint(true);
    for (int id = 0; id < 10; id++)
        data.Add(id, id.ToString());
    using (IEnumerator<KeyValuePair<int, string>> enu = data.GetEnumerator())
    {
        Assert.IsTrue(enu.MoveNext());
        Assert.AreEqual(0, enu.Current.Key);
        for (int id = 2; id < 10; id++)
            Assert.IsTrue(data.Remove(id));
        for (int id = 6; id < 11; id++)
            data.Add(id, id.ToString());
        Assert.IsTrue(enu.MoveNext());
        Assert.AreEqual(1, enu.Current.Key);
        Assert.IsTrue(enu.MoveNext());
        Assert.AreEqual(6, enu.Current.Key);
        Assert.IsTrue(enu.MoveNext());
        Assert.AreEqual(7, enu.Current.Key);
        Assert.IsTrue(data.Remove(8));
        Assert.IsTrue(data.Remove(9));
        Assert.IsTrue(data.Remove(10));
        data.Add(11, 11.ToString());
        Assert.IsTrue(enu.MoveNext());
        Assert.AreEqual(11, enu.Current.Key);
        Assert.IsTrue(false == enu.MoveNext());
    }
    data.Clear();
} | 
 
| VB.NET |  Copy Code | 
|---|
Dim options As var = Options
options.BTreeOrder = 4
Using data As New BPlusTree(Of Integer, String)(options)
    data.EnableCount()
    data.DebugSetOutput(New StringWriter())
    data.DebugSetValidateOnCheckpoint(True)
    Dim id As Integer = 0
    While id < 10
        data.Add(id, id.ToString())
        System.Math.Max(System.Threading.Interlocked.Increment(id),id - 1)
    End While
    Using enu As IEnumerator(Of KeyValuePair(Of Integer, String)) = data.GetEnumerator()
        Assert.IsTrue(enu.MoveNext())
        Assert.AreEqual(0, enu.Current.Key)
        Dim id As Integer = 2
        While id < 10
            Assert.IsTrue(data.Remove(id))
            System.Math.Max(System.Threading.Interlocked.Increment(id),id - 1)
        End While
        Dim id As Integer = 6
        While id < 11
            data.Add(id, id.ToString())
            System.Math.Max(System.Threading.Interlocked.Increment(id),id - 1)
        End While
        Assert.IsTrue(enu.MoveNext())
        Assert.AreEqual(1, enu.Current.Key)
        Assert.IsTrue(enu.MoveNext())
        Assert.AreEqual(6, enu.Current.Key)
        Assert.IsTrue(enu.MoveNext())
        Assert.AreEqual(7, enu.Current.Key)
        Assert.IsTrue(data.Remove(8))
        Assert.IsTrue(data.Remove(9))
        Assert.IsTrue(data.Remove(10))
        data.Add(11, 11.ToString())
        Assert.IsTrue(enu.MoveNext())
        Assert.AreEqual(11, enu.Current.Key)
        Assert.IsTrue(False = enu.MoveNext())
    End Using
    data.Clear()
End Using | 
 
 
            
            
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
 
            
            
See Also